<?php
include 'config.php';

// Dohvatanje poslednjeg broja ulaza i automatsko povećanje za 1
$query = "SELECT MAX(broj_ulaza) AS last_ulaz FROM ulaz_zaglavlje WHERE godina = YEAR(CURDATE())";
$result = $conn->query($query);
$row = $result->fetch_assoc();
$broj_ulaza = $row['last_ulaz'] ? $row['last_ulaz'] + 1 : 1;
$godina = date("Y");

// Dohvatanje dobavljača i grupa artikala
$dobavljaci = $conn->query("SELECT id_dobavljaca, naziv_dobavljaca FROM dobavljac");
$grupe = $conn->query("SELECT id_grupe, naziv_grupe FROM grupa_artikala");
?>
<!DOCTYPE html>
<html lang="hr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ulaz robe</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        table { width: 100%; border-collapse: collapse; margin-top: 10px; }
        th, td { border: 1px solid black; padding: 5px; text-align: center; }
        th { background-color: #f2f2f2; }
    </style>
</head>
<body>

<h2 style="text-align:center;">ULAZ ROBE</h2>
<p style="text-align:center;">Broj ulaza: <strong><?php echo $broj_ulaza . '/' . $godina; ?></strong></p>

<form method="POST" action="unesi_ulaz.php">
    <label>Datum ulaza:</label>
    <input type="date" name="datum_ulaza" required>
    
    <label>Dobavljač:</label>
    <select name="dobavljac" required>
        <option value="">-- Odaberi dobavljača --</option>
        <?php while ($row = $dobavljaci->fetch_assoc()) { ?>
            <option value="<?= $row['id_dobavljaca'] ?>"><?= $row['naziv_dobavljaca'] ?></option>
        <?php } ?>
    </select>

    <br><br>

    <label>Grupa artikala:</label>
    <select id="grupa_artikala">
        <option value="">-- Odaberi grupu --</option>
        <?php while ($row = $grupe->fetch_assoc()) { ?>
            <option value="<?= $row['id_grupe'] ?>"><?= $row['naziv_grupe'] ?></option>
        <?php } ?>
    </select>

    <table>
        <thead>
            <tr>
                <th>Artikl</th>
                <th>Količina</th>
                <th>Cijena</th>
                <th>Popust (%)</th>
                <th>PDV (%)</th>
                <th>Ukupno</th>
                <th>Akcija</th>
            </tr>
        </thead>
        <tbody id="stavke_ulaza"></tbody>
    </table>

    <button type="button" id="dodaj_stavku">Dodaj stavku</button>

    <h3>Rekapitulacija</h3>
    <p>Ukupno: <span id="ukupno">0.00</span> KM</p>
    <p>Ukupni popust: <span id="ukupni_popust">0.00</span> KM</p>
    <p>Ukupno PDV: <span id="ukupno_pdv">0.00</span> KM</p>
    <p>Ukupno za platiti: <span id="za_platiti">0.00</span> KM</p>

    <input type="submit" value="Sačuvaj ulaz">
</form>

<script>
$(document).ready(function() {
    let originalOptionHtml = '<option value="">Odaberi artikl</option>';

$("#grupa_artikala").change(function() {
    let id_grupe = $(this).val();
    if (id_grupe) {
        $.post("dohvati_artikle.php", { id_grupe: id_grupe }, function(data) {
            // Ažuriranje opcija samo za novi artikl select
            $(".artikl_select").each(function() {
                let selectedValue = $(this).val(); // Čuvamo trenutno selektovanu vrednost
                let currentOptions = $(this).html(); // Spremamo postojeće opcije
                $(this).html('<option value="">Odaberi artikl</option>' + data + currentOptions); // Dodajemo nove opcije bez brisanja starih
                $(this).val(selectedValue); // Postavljamo prethodnu selektovanu vrednost
            });
        }).fail(function() {
            console.log("Greška pri dohvatanju artikala.");
        });
    }
});



    $("#dodaj_stavku").click(function() {
        let row = `<tr>
            <td>
                <select class="artikl_select" name="artikl[]">
                    ${originalOptionHtml}
                </select>
            </td>
            <td><input type="number" name="kolicina[]" class="kolicina" value="1"></td>
            <td><input type="number" name="cijena[]" class="cijena" step="0.01"></td>
            <td><input type="number" name="popust[]" class="popust" step="0.01" value="0"></td>
            <td><input type="number" name="pdv[]" class="pdv" step="0.01" value="17"></td>
            <td class="ukupno_stavka">0.00</td>
            <td><button type="button" class="obrisi">Obriši</button></td>
        </tr>`;
        $("#stavke_ulaza").append(row);
    });

    $(document).on("change", ".artikl_select", function() {
        let cijena = $(this).find(":selected").data("cijena");
        let row = $(this).closest("tr");
        row.find(".cijena").val(cijena);
        izracunajUkupno(row);
        azurirajRekapitulaciju();
    });

    $(document).on("input", ".kolicina, .cijena, .popust, .pdv", function() {
        izracunajUkupno($(this).closest("tr"));
        azurirajRekapitulaciju();
    });

    function izracunajUkupno(row) {
        let kolicina = parseFloat(row.find(".kolicina").val()) || 0;
        let cijena = parseFloat(row.find(".cijena").val()) || 0;
        let popust = parseFloat(row.find(".popust").val()) || 0;
        let pdv = parseFloat(row.find(".pdv").val()) || 0;

        let ukupno = kolicina * cijena;
        let ukupnoSaPopustom = ukupno - (ukupno * popust / 100);
        let iznosPdv = ukupnoSaPopustom * pdv / 100;
        let ukupnoSaPdv = ukupnoSaPopustom + iznosPdv;

        row.find(".ukupno_stavka").text(ukupnoSaPdv.toFixed(2));
    }

    function azurirajRekapitulaciju() {
        let ukupno = 0, ukupniPopust = 0, ukupnoPdv = 0;
        
        $(".ukupno_stavka").each(function() {
            ukupno += parseFloat($(this).text()) || 0;
        });

        $("#ukupno").text(ukupno.toFixed(2));
        $("#ukupni_popust").text((ukupno * 0.1).toFixed(2)); 
        $("#ukupno_pdv").text((ukupno * 0.17).toFixed(2)); 
        $("#za_platiti").text((ukupno + ukupno * 0.17 - ukupno * 0.1).toFixed(2)); 
    }
});
</script>

</body>
</html>
